A user can perform a query search to lookup information stored on a device. A query search begins with a client on the device receiving the query string, which is sent to a local search module. The client can be one of variety of applications that support local search (e.g., mail, media, calendar, and the file browser). The local search module receives query string and searches a search index for results that match this query string. The local search module uses a local search index to complete the search, where the local search index is an index of objects that reside on the device. For example, the local search index can include metadata corresponding the indexed objects. The local search module then returns the results to the client.
In addition or instead of, this query string can be sent to a remote search server. The search server uses this query string to perform a search on the index of the search server and return results to the device. The returned results do not include the rich amount of metadata that the objects indexed in the local search index may have. In addition, the search server may not index certain objects that are available to the user (e.g., objects stored in a cloud-based office software suite).